var http = require('http')
var fs = require('fs')
var url = require('url')
var template = require('art-template')

var comments = [
    {
        name: '张三',
        content: '今天很开心'
    },
    {
        name: '李四',
        content: '今天又是美美的一天'
    }
]

http
    .createServer(function (req, res) {
        var parseUrl = url.parse(req.url, true)
        var pathName = parseUrl.pathname

        if (pathName === '/') {
            fs.readFile('./views/index.html', function (err, data) {
                if (err) {
                    res.end('读取文件失败')
                } else {
                    var data = data.toString()
                    var ret = template.render(data, {
                        comments: comments
                    })
                    res.end(ret)
                }


            })
        } else if (pathName === '/pinglun') {
            var contents = parseUrl.query
            comments.push(contents)

            res.statusCode = 302
            res.setHeader('Location', '/')
            res.end()


        } else if (pathName === '/post') {
            fs.readFile('./views/post.html', function (err, data) {
                if (err) {
                    res.end('读取文件失败')
                } else {
                    res.end(data)
                }
            })
        } else if (pathName.indexOf('/public/') === 0) {
            //将public 文件给公共出来
            // /public/css/main.css
            // /public/js/main.js
            // /public/lib/jquery.js
            // 统一处理：
            //如果请求路径是以 /public/ 开头的，则我认为你要获取 public 中的某个资源
            // 所以我们就直接可以把请求路径当作文件路径来直接进行读取
            fs.readFile('.' + pathName,function(err, data){
                if (err) {
                    res.end('读取文件失败')
                } else {
                    res.end(data)
                }
            })
        } else {
            fs.readFile('./views/404.html', function (err, data) {
                if (err) {
                    res.end('读取文件失败')
                } else {
                    res.end(data)
                }
            })
        }
    })
    .listen('3000', function () {
        console.log('服务器请求成功')
    })